package com.ttxs.common.core.vo;

import com.ttxs.common.core.constant.SecurityConstant;
import lombok.Data;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

@Data
public class LoginUser implements Serializable {
    private Long userId;
    private String username;
    private String nickName;
    private SecurityConstant.AuthMode authMode = SecurityConstant.AuthMode.REST;
    /**
     * 如果是rest，格式为POST_/user/{id}格式的集合
     * 如果是url，格式为/user/get格式的集合
     * 如果是perms，格式为sys:user:add格式的集合
     */
    private Set<String> authorities;
    /**
     * 有些系统不是基于rbac设计，通过此字段存储权限等其他需要的数据
     */
    private Map<String, Object> extra = new HashMap<>();
}
